package com.carleasoft.mps.adu.business.menu.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.adu.business.menu.bean.entity.AuthorityMenuEntity;
import com.carleasoft.mps.adu.business.role.bean.vo.ListAndButtonVo;
import com.carleasoft.mps.adu.business.role.bean.vo.PermVo;
import com.carleasoft.mps.core.user.UserCacheData;

import java.util.List;

/**
 * <p>Description: role service</p>
 * @since 2020-05-11
 * @author ztm
 */
public interface AuthorityMenuService extends IService<AuthorityMenuEntity> {

    /**
     * 登录后获取菜单和按钮接口
     */
    List<ListAndButtonVo> getListAndButton(List<String> menuNameList);

    /**
     * 获取登录用户菜单权限
     */
    PermVo getMenuAndButton(List<String> menuNameList);

    /**
     * 菜单按钮树
     */
    List<ListAndButtonVo> ListAndButtonTree();

    /**
     * 增加按钮或菜单
     */
    boolean addListOrButton(AuthorityMenuEntity authorityMenuEntity,UserCacheData user);

    /**
     * 编辑按钮或菜单
     */
    boolean editListOrButton(AuthorityMenuEntity authorityMenuEntity,UserCacheData user);

    /**
     * 删除按钮或菜单
     */
    boolean deleteListOrButton(AuthorityMenuEntity authorityMenuEntity,UserCacheData user);
}
